Method and device for computer-based processing a template minutia set of a fingerprint and a computer readable storage medium

ABSTRACT

A template minutia set of a fingerprint comprising template minutiae and a template interest region is provided. Further, an input minutia set comprising input minutiae and an input interest region according to an input fingerprint is provided. The input minutia set is matched with the template minutia set. All matching template/input minutiae are determined. Furthermore, an updated template minutia set is determined dependent on the matching template/input minutiae and the non-matching template/input minutiae, and dependent on whether the template minutiae are inside the input interest region or outside of it and whether the input minutiae are inside the template interest region or outside of it.

BACKGROUND OF THE INVENTION

The invention relates to a method and a device for computer-basedprocessing a template minutia set of a fingerprint and a computerreadable storage medium.

In order to provide an identification mechanism based on biometriccharacteristics of a person which is to be identified, one biometriccharacteristic often used for personal verification/identification isthe person's fingerprint.

In this kind of verification/identification, typically the person'sfingerprint is detected by a fingerprint sensor, thereby generating afingerprint image.

The word “fingerprint” is herein used as a representative of afingerprint or a like pattern or figure. More particularly, thefingerprint may be an actual finger; a palm print, a toe print, asoleprint, a squamous pattern, and a streaked pattern composed ofstreaks. The fingerprint may also be a diagram drawn by a skilled personto represent a faint fingerprint remain which is, for example, left atthe scene of a crime.

Usually, the person, who would like to use a device for this kind ofverification/identification is required to register his or herfingerprint in a registration step for later verification/identificationin a verification/identification step.

During the registration, characteristic features of the fingerprint willbe extracted and stored in a storage media of the device. Such afingerprint image is called the template fingerprint and such a storedcharacteristic features are called the template minutiae.

When a person wants to use the device, he has to present his fingerprintto the device.

The unknown fingerprint of the person who wants to be identified in averification/identification step is usually called input fingerprint.The characteristic features of the input fingerprint will be extractedand matched against the template minutiae of the template fingerprint.If a match is found, the person is identified as the person therespective pre-stored template fingerprint refers to. Otherwise, theperson is identified as an unauthorized user and the further use of thedevice will be prohibited.

The template minutiae usually comprise geometrical and other usefulcharacteristic information (or features) pertaining to the localdiscontinuities (the minutiae) of the fingerprint, such as

-   -   the type of the current minutiae,    -   the location of the current minutiae,    -   the direction of the current minutiae,    -   the ridge count between the current minutiae and its neighboring        minutiae,    -   the location of the neighboring minutiae,    -   the distance relationship of the current minutiae with respect        to its neighboring minutiae, and/or    -   the angular relationship of the current minutiae with respect to        its neighboring minutiae.

In [1], [2] and [3], methods to determine the template minutiae aredescribed. The basic concept of these methods is to determine theminutiae present in a single fingerprint image. From these determinedminutiae, the required parameters are subsequently determined.

Furthermore, methods to match the fingerprints or to compare whether twofingerprints are similar to each other or not using the fingerprinttemplates, are described in [4], [5], [6] and [7].

Noise, contrast deficiency, improper image acquisition, geometricaltransformation, deformation and skin elasticity will make a capturedfingerprint image deviate from the ideal fingerprint of the person. Thepoor quality of the captured fingerprint image will make a reliableminutia extraction very difficult. Spurious minutiae can be produced,valid minutiae can be dropped and the minutia type (ending andbifurcation) may be exchanged due to the noise and interference of thefingerprint image. The problem of automatic minutia extraction has beenthoroughly studied but never completely solved. The employment ofvarious image enhancement techniques can only partly solve the problem[8]. In [2] five different minutia extraction techniques well known inthe literature were implemented and their performances were compared. Inthe experiments disclosed in [2], the best technique dropped 4.51%genuine minutiae, produced 8.52% spurious minutiae and caused 13.03%minutiae exchanged their type. The total error is then 26.07%. For therest four approaches, the total error is 33,83%, 119.80%, 207.52% and216.79%, respectively. From these experimental results it is seen that aperfect minutia extraction is a very difficult task.

An automatic fingerprint verification/identification system willsuccessively receive fingerprint images of users in the practicalapplication after the registration. The fingerprint imaging condition,which causes the minutia extraction error, will change with time due tothe change of the skin condition, climate and on-site environment. Thus,the image noises and interferences of fingerprints received by thesystem at different time might be quite different.

However, improving the fingerprint image quality based on these multipleimages is very difficult and memory and computation too expensive due tothe image size and image pose transformation.

SUMMARY OF THE INVENTION

Thus, it is an objective of the invention, to overcome at least one ofthe above mentioned shortcomings.

This objective can be achieved with a method and a device that usescomputer(s) to process a template minutia set of a fingerprint or acomputer readable storage medium, according to the features described inthe independent claims.

In the method that uses computer(s) to process a template minutia set ofa fingerprint, a template minutia set comprising template minutiae and atemplate interest region is provided. Furthermore, an input minutia setaccording to an input fingerprint comprising input minutiae and an inputinterest region is provided. The input minutia set is matched with thetemplate minutia set. Thereby, matching template/input minutiae andnon-matching template/input minutiae are determined. Finally, an updatedtemplate minutia set is determined dependent on the matchingtemplate/input minutiae and the non-matching template/input minutiae,and dependent on whether the template minutiae are inside the inputinterest region or outside of it and whether the input minutiae areinside the template interest region or outside of it.

Matching in this context means, that 1) there is determined thesimilarity between the template minutia set and the input minutia set orthe template minutia set and the input minutia set are known originatedfrom a same finger and 2) the template/input minutiae are classified asmatching template/input minutiae or non-matching template/input minutiaeaccording to a predetermined matching threshold.

A computer-based device for processing a template minutia set of afingerprint comprises a processing unit, which is arranged to executethe following steps: The template minutia set comprising templateminutiae, a template interest region, and a certainty value for eachtemplate minutia is provided. An input minutia set according to an inputfingerprint comprising input minutiae, an input interest region, and acertainty value for each input minutia is provided. The input minutiaset is matched with the template minutia set. Thereby, matchingtemplate/input minutiae and non-matching template/input minutiae aredetermined. A transformation function using the matching result isdetermined, wherein the transformation function describes the relationbetween the template minutiae and the input minutiae. An updatedtemplate minutia set is determined by: adding non-matching inputminutiae inside the template interest region to the updated templateminutia set if the input minutia set and the template minutia set areknown originated from a same finger or their matching result is higherthan a matching threshold; increasing the certainty values of matchingtemplate minutiae; decreasing the certainty values of non-matchingtemplate minutiae that are inside the input interest region; deletingtemplate minutiae from the updated template minutia set if theircertainty values are below a certainty threshold; and using the templateminutiae, whose certainty values are larger than the certaintythreshold, for the future matching. Finally, the above mentioned stepsare repeated iteratively for all input minutia sets of a plurality ofinput minutia sets, wherein the updated template minutia set is used asthe template minutia set of the next iteration, and wherein the nextinput minutia set is used as the input minutia set of the nextiteration.

A computer readable storage medium has a program recorded thereon, wherethe program makes the computer execute a procedure comprising thefollowing steps for processing a template minutia set of a fingerprint:The template minutia set comprising template minutiae, a templateinterest region, and a certainty value for each template minutia isprovided An input minutia set according to an input fingerprintcomprising input minutiae, an input interest region, and a certaintyvalue for each input minutia is provided. The input minutia set ismatched with the template minutia set. Thereby, matching template/inputminutiae and non-matching template/input minutiae are determined. Atransformation function using the matching result is determined, whereinthe transformation function describes the relation between the templateminutiae and the input minutiae. An updated template minutia set isdetermined by: adding non-matching input minutiae inside the templateinterest region to the updated template minutia set if the input minutiaset and the template minutia set are known originated from a same fingeror their matching result is higher than a matching threshold; increasingthe certainty values of matching template minutiae; decreasing thecertainty values of non-matching template minutiae that are inside theinput interest region; deleting template minutiae from the updatedtemplate minutia set if their certainty values are below a certaintythreshold; and using the template minutiae, whose certainty values arelarger than the certainty threshold, for the future matching. Finally,the above mentioned steps are repeated iteratively for all input minutiasets of a plurality of input minutia sets, wherein the updated templateminutia set is used as the template minutia set-of the next iteration,and wherein the next input minutia set is used as the input minutia setof the next iteration.

The above described method and device for computer-based processing atemplate minutia set of a fingerprint enable processing the templateminutia set not only during the fingerprint registration process butalso during each fingerprint verification/identification process.Thereby, the stored template minutia set is continuously updated andverification/identification of a person becomes more and more reliable,because the template minutia set will be based on multiple inputfingerprint images. A processing of the template minutia set is alsonecessary due to different fingerprint imaging conditions. The inventionenables the template minutia set to become more and more independent ofdisturbances such as noise and interference, of changes of the skincondition and of the climate and on-site environment. Thus, the imagenoises and interferences of fingerprints received by the system atdifferent points of time produce less difficulties with increasingnumber of input fingerprint images.

According to one embodiment of the invention, the method furthercomprises: determining a plurality of input minutia sets comprising acertainty value for each input minutia, and determining the updatedtemplate minutia set by generating updated template minutiae from allinput minutia sets with their corresponding weights.

Therefore, the detection of spurious minutiae and the non-detection ofgenuine minutiae can more easily be limited. For instance, a minutiamissing in the template minutia set but present in a first, second, . .. input minutia set has a higher probability that this minutia is agenuine minutia; a minutia present in the template minutia set butmissing in a first, second, . . . input minutia set has a higherprobability that this minutia is a spurious minutia. Thus, certaintyvalues stored together with the template minutiae enable the detectionand elimination of spurious minutiae and the recovery of droppedminutiae.

The plurality of input minutia sets preferably comprises a time seriesof input minutia sets. Then, the certainty value could for instance be afunction of time of the corresponding input minutia set.

According to a preferred embodiment of the invention, the templateminutia set will be updated if the template minutia set and the inputminutia set are known originated from a same finger or if the matchingresult of the corresponding input minutiae is higher than a matchingthreshold, and the determination of the updated template minutia setcomprises: 1) adding non-matching input minutiae inside the templateinterest region to the updated template minutia set and put a certaintyvalue on them, 2) increasing the certainty values of matching templateminutiae, 3) decreasing the certainty values of non-matching templateminutiae which are inside the input interest region, and 4) deletingtemplate minutiae from the updated template minutia set if theircertainty values are below the matching threshold.

Each interest region can be described by its boundary and the boundariesof the interest regions are preferably obtained using points located onthe respective boundary. According to one embodiment of the inventionthe boundaries of the template interest region and of the input interestregion each define a polygon. Such a polygon can be described by eightor 16 points.

Preferably the input minutia set is aligned with respect to the templateminutia set before the matching process is started. Such an alignment isvery useful due to the fact that a user never presents his fingerprintexactly aligned to the fingerprint detector.

The template minutia set is preferably selected from a number ofreference minutia sets. Then, the starting probability of theverification/identification process is quite good. Each referenceminutia set comprises a reference interest region and it is preferred toselect the reference minutia set with the largest reference interestregion as the template minutia set.

According to a preferred embodiment of the invention, the method furthercomprises determining of whether an input minutia is located inside thetemplate interest region or outside of it during the matching process,and determining of whether a template minutia is located inside theinput interest region or outside of it during the matching process. Suchan information is necessary for updating the certainty values of thetemplate minutiae.

The alignment of the input minutia set with respect to the templateminutia set is preferably performed by a transformation function, whichis given by the following formula:

${\begin{pmatrix}x_{j}^{A} \\y_{j}^{A}\end{pmatrix} = {\begin{pmatrix}x^{P} \\y^{P}\end{pmatrix} + {\begin{pmatrix}{\cos\left( {\Delta\;\varphi} \right)} & {\sin\left( {\Delta\;\varphi} \right)} \\{- {\sin\left( {\Delta\;\varphi} \right)}} & {\cos\left( {\Delta\;\varphi} \right)}\end{pmatrix} \cdot \begin{pmatrix}{x_{j}^{I} - x^{I}} \\{y_{j}^{I} - y^{I}}\end{pmatrix}}}},$wherein

-   -   (x_(j) ^(A),y_(j) ^(A)) are aligned point vectors representing        the location of an aligned point with j as characterizing number        of each aligned point,    -   (x^(P),y^(P)) is a reference point of the template minutia set,    -   (x_(j) ^(I),y_(j) ^(I)) is a point in the input interest region        with j as characterizing number of each point,    -   (x^(I),y^(I)) is a reference point of the input minutia set, and    -   Δφ is an angle enclosed from (x^(P),y^(P)) and (x^(I),y^(I)).

The above mentioned transformation function enables both a rotation aswell as a translation of the input interest region relative to thetemplate interest region.

As already mentioned above, it is preferred to repeat the update processof the template minutia set iteratively for all input minutia sets of aplurality of input minutia sets. Then, the updated template minutia setis used as template minutia set of the next iteration and the next inputminutia set is used as the input minutia set of the next iteration.

The above described method and device for computer-based processing atemplate minutia set of a fingerprint enables an update of the templateminutia parameter and of the template minutia certainty value by using arecursive algorithm that implements a weighted averaging over allreceived matched fingerprints. The weighted averaging increases theprecision of minutia parameter, corrects the exchanged minutiae,recovers dropped minutiae and removes spurious minutiae. Furthermore,the proposed scheme has the weights of the received fingerprints changedwith the time so that older fingerprints have less and less contributionto the weighted average. In this way, the method gradually weakens theeffect of older skin and imaging conditions and enhances the recentones. By using the common region of two matched fingerprints, thetemplate minutiae will not grow to cover the whole finger but are keptwithin the region of the initial template fingerprint. The proposedrecursive algorithm minimizes the computation time and memory sizerequired by calculating a weighted average. This makes the inventionhaving no problem to be employed in an on-line fingerprintverification/identification system.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows a block diagram of a computer which is used to perform thesteps of the method according to a preferred embodiment of theinvention.

FIG. 2 shows an input fingerprint image comprising an input interestregion of the fingerprint according to a preferred embodiment of theinvention.

FIG. 3 shows a time series of matched input minutia sets according to apreferred embodiment of the invention. The minutiae are designated withthe symbol “x” and “o”.

FIG. 4 shows an input interest region of an input fingerprint accordingto a preferred embodiment of the invention.

FIG. 5 shows a flow diagram showing the steps of the method according toa preferred embodiment of the invention.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

A preferred embodiment of this invention and modifications thereof willnow be described with reference to the accompanying drawings.

FIG. 1 shows a computer 100 comprising

-   -   a central processing unit (CPU) 101,    -   a storage device 102,    -   a computer bus 103, and    -   an input-/output-interface 104.

The central processing unit 101, the storage device 102 and theinput-/output-interface 104 are coupled with the computer bus 103 forexchanging electrical signals.

Via the input-/output-interface 104 and a first connection 105, thecomputer 100 is coupled with a fingertip sensor 106, according to thisembodiment the FingerTip™ sensor of Infineon, Inc., with which fingertipimages of a fingertip 107 are taken from a finger 108. Furthermore, viathe input-/output-interface 104 and a second connection 109, thecomputer 100 is coupled with a keyboard 110, and via a third connection111, the computer 100 is coupled with a computer mouse 112. Via theinput-/output-interface 104 and a fourth connection 113, the computer100 is coupled with a display 114.

After the fingertip sensor 106 has taken the fingerprint images, thefingertip images 115 are sent from the fingertip sensor 107 to thecomputer 100, where they are stored in the storage device 102. In thestorage device 102, there is further stored a computer program 117,which makes the computer 100 execute a method comprising the steps,which will further be described in detail.

For further explanation, it is assumed, that each image comprisesminutiae of the finger 108, which are extracted from the images 115.

As described in [9], a fingerprint image can be segmented into theinterest region and the background with a segmentation algorithm. Aninterest region can be represented by a point set S, which contains allx- and y-coordinates of points within this interest region. The image inthe interest region can be considered as an oriented texture patternthat contains ridges separated by valleys. Ridge endings and ridgebifurcations are minutiae that are used to match two fingerprints.

For each minutia, a minutia feature vector F_(k) 116 (k=1, . . . , n) isdetermined and stored in the storage device 102. The minutia featurevector F_(k) 116 comprises the following features:F _(k)=(x _(k) , y _(k), φ_(k) , t _(k)),   (1)wherein

-   -   x_(k) is a first coordinate of the minutia k in a given        right-hand orthogonal coordinate space,    -   y_(k) is a second coordinate of the minutia k in the coordinate        space,    -   φ_(k) is a direction (−π<φ_(k)≦π), which is defined as a local        ridge direction of an associated ridge of the minutia k,    -   t_(k) is a minutia type of minutia k out of a given amount of        minutia types (for example, t_(k)=0 for ridge ending and t_(k)=1        for bifurcation).

The first coordinate x_(k), the second coordinate y_(k), and thedirection φ_(k) are dependent on the position and orientation of thefinger 108 on the fingertip sensor 106, when the fingertip 107 isacquired. These features, i.e. characteristics, are not rotation andtranslation invariant.

A minutia set F is a parameter vector set that consists of parametervectors F_(k) 116 (k=1, . . . , n) of all minutiae detected from afingerprint.

FIG. 2 shows an input fingerprint image 201 and an input interest region202 of the input fingerprint image 201.

As already mentioned above the input fingerprint image 201 can beconsidered as an oriented texture pattern that contains ridges separatedby valleys. Ridge endings and ridge bifurcations are minutiae that areused to match two fingerprints.

As the skin and imaging conditions change with time the fingerprintimage characteristics do change with time. As the result, input minutiasets extracted from the input fingerprint image 201 captured during averification/identification process might be quite different from atemplate minutia set. Therefore, input minutia sets can be used toupdate the template minutia set if they are matched or if they are knownoriginated from a same finger. To update the-template minutia set, allmatched input minutia sets and their input interest regions need to bestored and a arithmetic average over all matched input minutia sets needto be calculated for every time of an update of the template minutiaset. This will produce a large size of the template minutia set and longcomputation time. However, a small size of template minutia set and ahigh speed for verification/identification are often required in theapplication, especially for a stand-alone system. To save the memorysize and speed up the update process, we need a simplified inputinterest region 202 and a recursive algorithm.

We use a polygon described with a few points to approximate the inputinterest region 202 of an input fingerprint image 201. FIG. 4 shows theboundary of an input fingerprint image 201 and as example the resultingpolygon 402 for the input interest region 401. Two farthest points inthe boundary are found as shown as points (1) and (5). The point marked(3) has the longest perpendicular distance from the top boundary to line(1)-(5). Similarly, point (7) has the longest distance in the bottomsegment. Using the same method, points (2), (4), (6) and (8) can befound. In this way, a fingerprint boundary is approximated by a polygonthat can be described by a few points. The size of the fingerprinttemplate is thus only slightly increased by adding the coordinates of afew points. According to this embodiment, eight points are used. It isalso possible to use 16 points, for instance.

In a first step (step 501) of the method according to the preferredembodiment of the invention, a template minutia set is determined byusing the method described in [3] (see FIG. 5)

In a further step (step 502), for each input fingerprint image 201, therespective input minutia set is provided. If the input minutia set is tobe determined from an input fingerprint image 201, the input minutia setis determined by using the method described in [3].

Fingerprint minutia matching is to find a similarity level between twominutia sets F^(P) and F^(I), one from the template fingerprint imageand another from the input fingerprint image, respectively. The inputfingerprint image usually has rotation and translation relative to thetemplate fingerprint image. Before performing the matching, the minutiaeof the input fingerprint image are to be aligned with the templatefingerprint image. To be specific, two corresponding reference minutiae(x^(P), y^(P), φ^(P), t^(P))^(T) ∈ F^(P) and (x^(I), y^(I), φ^(I),t^(I))^(T) ∈ F^(I) can be found by using the method in [4]. The alignedminutia set F^(A)={F_(k) ^(A)} is obtained by translating and rotatingall input minutiae F_(k) ^(I) (k=1, 2, . . . , K^(I)) with respect tothe two reference minutiae, according to the following formula:

$\begin{matrix}\begin{matrix}{F_{k}^{A} = \begin{pmatrix}x_{k}^{A} \\y_{k}^{A} \\\varphi_{k}^{A} \\t_{k}^{A}\end{pmatrix}} \\{= {\begin{pmatrix}x^{P} \\y^{P} \\\varphi^{P} \\0\end{pmatrix} + {\begin{pmatrix}{\cos\left( {\Delta\;\varphi} \right)} & {\sin\left( {\Delta\;\varphi} \right)} & 0 & 0 \\{- {\sin\left( {\Delta\;\varphi} \right)}} & {\cos\left( {\Delta\;\varphi} \right)} & 0 & 0 \\0 & 0 & 1 & 0 \\0 & 0 & 0 & 1\end{pmatrix}{\begin{pmatrix}{x_{k}^{I} - x^{I}} \\{y_{k}^{I} - y^{I}} \\{\varphi_{k}^{I} - \varphi^{I}} \\t_{k}^{I}\end{pmatrix}.}}}}\end{matrix} & (2)\end{matrix}$

Two minutiae, one from the template fingerprint image and another fromthe input fingerprint image are said being matched if the difference oftheir aligned parameter is within a threshold. Based on the matched andnon-matched minutiae, a matching score that describes the similarity ofthe two minutia sets is calculated [4]. An input fingerprint is saidbeing matched with a template fingerprint if their matching score ms isgreater than a predetermined threshold T_(v).

At the beginning of the method according to the preferred embodiment ofthe invention a template minutia set has to be determined. Suppose thatthere are M sample fingerprint images I^(m) captured from the samefinger and obtained M minutia sets F^(m)={F_(k) ^(m)} and input interestregions S^(m), (m=1, 2, . . . , M) by applying a minutia extractionalgorithm. Then, the template minutia set F^(P)={F_(k) ^(P),0<k≦K} isinitialized by letting F^(P)=F^(r) with the interest region S^(P)=S^(r)(1≦r≦M). K is the number of the minutiae in F^(P). The template minutiaset can for instance simply be determined by selecting the minutia setwith the largest interest region as our initial template minutia setF^(P).

In the rest M-1 minutia sets, any minutia set F^(m) with m≠r can bepicked out as input minutia set. To match it with the template minutiaset F^(P) the minutia-matching algorithm disclosed in [4] is applied.

However, the methods described in [5], [6], or [7] may be usedalternatively as minutia-matching methods.

In the matching process, an aligned input minutia set F^(Am)={F_(k)^(Am)} is calculated by using equation (2) and an aligned input interestregion S^(Am) can be calculated. After matching, first all unmatchedminutiae F_(k) ^(Am) located outside S^(P) are removed from F^(Am) andthe minutia index k in the updated F^(Am) is rearranged so that thematched minutia has the same index as its partner minutia in F^(P) andthe unmatched minutiae have indexes k=K+1, K+2, . . . .

Now, the template minutia set is updated by putting all unmatchedminutiae F_(k) ^(Am) into F^(P), i.e.F ^(P) ·U{F _(k) ^(Am) |k>K}

F ^(P).   (3)

Correspondingly, the number of the minutiae K in the updated templateminutia set F^(P) is also updated.

Using this updated template minutia set the above process is applied oneby one to all other M-2 minutia sets. In this way M-1 aligned minutiasets F^(Am) and interest regions S^(Am) with 1≦r≦M and m≠r result. Tosimplify the formula let F^(Ar)=F^(r) and S^(Ar)=S^(r). Now all minutiaein F^(Am) (1≦r≦M) are located within the interest region S^(Ar). Matchedminutiae have the same index k and unmatched minutiae have differentindex k (1≦k≦K).

A minutia template update is conducted based on the assumption thatmatched minutiae (here have the same index k) represent the sameminutiae and unmatched minutiae (here have different index k) representdifferent minutiae. If there exists a F_(k) ^(An) with F_(k) ^(An) ∈F^(An) but F_(k) ^(Am) ∉ F^(Am) and (x_(k) ^(An), y_(k) ^(An))∈ S^(Am),this indicates that minutia k (it might be genuine or spurious) wassuccessfully extracted from the sample image I^(n) but failed beingextracted from sample image I^(m) although its interest region S^(Am)covers the position of this minutia. A minutia certainty value isdefined as c_(k) ^(An)=1 and c_(k) ^(Am)=0 to represent this case.

However, if (x_(k) ^(An), y_(k) ^(An))∉ S^(Am), the location of thisminutia is outside the interest region of sample image I^(m). In thiscase, the sample image I^(m) provides no information about the certaintyof minutia k so that c_(k) ^(Am) is not defined. For simplifying theexpression, two index sets are defined for each minutia k as following:D _(k) ={m|F _(k) ^(Am) ∈F ^(Am)},   (4)R _(k) ={m|(∃F _(k) ^(An))(F _(k) ^(An) ∈F ^(An)^(x _(k) ^(An) , y _(k)^(An))∈S ^(Am))}.   (5)

Obviously, D_(k) consists of indexes of minutia sets F^(Am) that containminutia k and R_(k) consists of indexes of interest regions S^(Am) thatcover the position of minutia k. This means D_(k) ⊂R_(k). The minutiacertainty value c_(k) ^(Am) is then given by:

$\begin{matrix}{c_{k}^{Am} = \left\{ {\begin{matrix}{1,} & {{{if}\mspace{14mu} m} \in D_{k}} \\{0,} & {{{if}\mspace{14mu} m} \notin {D_{k}\bigwedge m} \in R_{k}} \\{{undefined},} & {{{if}\mspace{14mu} m} \notin R_{k}}\end{matrix}.} \right.} & (6)\end{matrix}$

Now let F^(E)={F_(k) ^(E), c_(k) ^(E)} denote the estimated updatedminutia set where c_(k) ^(E) is the certainty value of the estimatedminutia F_(k) ^(E).

The estimated minutiae are conducted by:

$\begin{matrix}{{F_{k}^{E} = {\frac{1}{\sum\limits_{{\forall m},{m \in D_{k}}}{wf}_{k}^{m}}{\sum\limits_{{\forall m},{m \in D_{k}}}{{wf}_{k}^{m}F_{k}^{Am}}}}},} & (7) \\{c_{k}^{E} = {\frac{1}{\sum\limits_{{\forall m},{m \in R_{k}}}{wc}_{k}^{m}}{\sum\limits_{{\forall m},{m \in R_{k}}}{{wc}_{k}^{m}{c_{k}^{Am}.}}}}} & (8)\end{matrix}$where wf_(k) ^(m) and wc_(k) ^(m) are the weights of F_(k) ^(Am) andc_(k) ^(Am) respectively.

Using equation (7) and (8) an updated minutia set is estimated from anumber of minutia sets extracted from sample fingerprints of the samefinger. The estimated minutia parameter is the weighted arithmeticaverage over all matched minutiae and therefore has better accuracy. Asa result, the exchanged minutiae type (ending or bifurcation) can becorrected.

For authenticating a future input fingerprint, only the minutiae whosecertainty value are greater than a threshold c_(v) are used.

This means that minutiae with certainty value lower than the thresholdc_(v) are regarded as spurious minutiae. The employment of the minutiacertainty value makes it possible that the dropped minutiae in somesample fingerprints can be recovered in the estimated minutia set ifthey are extracted from some other sample fingerprints and spuriousminutiae in some sample fingerprints can be removed from the estimatedminutia set if they are absent from some other sample fingerprints.

For example, if we choose equal weights, the estimated minutia F_(k)^(E) and its certainty value c_(k) ^(E) can be simply calculated by:

$\begin{matrix}{{F_{k}^{E} = {\frac{1}{M_{k}}{\sum\limits_{{\forall m},{m \in D_{k}}}F_{k}^{Am}}}},} & (9) \\{{c_{k}^{E} = {\frac{1}{N_{k}}{\sum\limits_{{\forall m},{m \in R_{k}}}c_{k}^{Am}}}},} & (10)\end{matrix}$where M_(k) is the number of fingerprints from which minutia k isextracted and N_(k) is the number of fingerprints whose interest regioncovers the position of minutia k. It is straightforward to see that theestimated minutia certainty value represents the occurrence frequency ofa minutia over all sample fingerprints whose interest region covers theposition of this minutia. Therefore, the estimated minutia certaintyvalue can be used to recover the dropped minutiae and remove thespurious minutiae.

FIG. 3 shows a template minutia set 300, a first input minutia set 301and an second minutia set 302. The minutia sets 300, 301 and 302comprise first minutiae 304, which are designated with the symbol “o” inFIG. 3, and second minutiae 305, which are designated with the symbol“x” in FIG. 3. The first minutiae 304 designate endings of ridges(t_(k)=0) and the second minutiae 305 designate bifurcations of ridges(t_(k)=1).

To enable the matching process, the input minutia sets 301 and 302 haveto be aligned with the template minutia set 300 as already describedabove.

The three minutia sets 300, 301 and 302 show the minutiae extracted fromthree fingerprint images. The three fingerprint images are taken fromthe same finger at different times. Alternatively, the three fingerprintimages can be matched based on a minutiae matching process. The firstfingerprint image taken at a first time is used to determine thetemplate minutia set 300. At a later point of time relative to the firstfingerprint image the second fingerprint image is taken. As can clearlybe seen, the first input minutia set 301 taken from the secondfingerprint image should be aligned to the template minutia set 300.Further, the first input minutia set 301 comprises less minutiae thanthe template minutia set 300. Therefore, the template minutia set 300 isupdated with respect to the minutia positions, directions, types as wellas with certainty values c_(k) ^(E) for all minutiae F_(k) ^(E).

Finally, the third fingerprint image represented by the second inputminutia set 302 is taken. The second input minutia set 302 has to bealigned with respect to the template minutia set 300. Thereafter, thesecond input minutia set 302 comprises further minutiae, which arealready not incorporated in the template minutia set 300. Therefore, thetemplate minutia set 300 is again updated.

In FIG. 4 an input interest region 401 of an input fingerprint is shown.The input interest region 401 is the boundary of the input fingerprint,which is described by a polygon 402 comprising eight points (1) . . .(8).

Let (x_(j) ^(P), y_(j) ^(P)) denote the coordinates of the eight pointsrepresenting the template interest region and (x_(j) ^(I), y_(j) ^(I))denote the coordinates of the eight points (1) . . . (8) representingthe input interest region 401 with j=1, 2, . . . , 8 The aligned inputinterest region presented by (x_(j) ^(A), y_(j) ^(A)) is obtained by:

$\begin{matrix}{{\begin{pmatrix}x_{j}^{A} \\y_{j}^{A}\end{pmatrix} = {\begin{pmatrix}x^{P} \\y^{P}\end{pmatrix} + {\begin{pmatrix}{\cos\left( {\Delta\;\varphi} \right)} & {\sin\left( {\Delta\;\varphi} \right)} \\{- {\sin\left( {\Delta\;\varphi} \right)}} & {\cos\left( {\Delta\;\varphi} \right)}\end{pmatrix}\begin{pmatrix}{x_{j}^{I} - x^{I}} \\{y_{j}^{I} - y^{I}}\end{pmatrix}}}},} & (11)\end{matrix}$where (x^(P), y^(P)) and (x^(I), y^(I)) are the corresponding points ofthe template minutia set and of the input minutia set, respectively,which are obtained by the minutia matching process.

A point (x, y) of a template minutia is within the input interest region401 if and only if:A _(j) x+B _(j) y+C _(j)<0(j=1, 2, . . . , 8),   (12)where A_(j)=y_(j) ^(A)−y_(j+1) ^(A), B_(j)=x_(j+1) ^(A)−x_(j) ^(A) andC_(j)=−A_(j)x_(j) ^(A)−B_(j)y_(j) ^(A) with (x₉ ^(A), y₉ ^(A))=(x₁ ^(A),y₁ ^(A)).

Similarly, it can be determined whether a point (x, y) of aligned inputminutia is within the template interest region by using equation (12)with A_(j)=y_(j) ^(P)−y_(j+1) ^(P), B_(j)=x_(j+1) ^(P)−x_(j) ^(P) andC_(j)=−A_(j)x_(j) ^(P)−B_(j)y_(j) ^(P).

In the practical application of a fingerprintverification/identification system, input minutia sets are compared withtemplate minutia sets. If an input minutia set is successfully matchedwith a template minutia set, it is verified or identified that these twominutia sets originate from the same finger.

Suppose the system received M aligned input minutia sets {F_(k) ^(Am),c_(k) ^(Am)} successfully matched with a template minutia set {F_(k)^(P), c_(k) ^(P)}. The updated template minutia set {F_(k) ^(E), c_(k)^(E)}, is calculated by equation (7) and (8) with the template minutiaset and M matched input minutia sets. Usually the finger skin andimaging condition changes with time. Thus, in equations (7) and (8) thelatter received input fingerprints should have higher weight than theearlier ones. In addition, the template fingerprint is usually capturedwith great caution during the registration whereas the inputfingerprints might be captured with less caution during theverification/identification process. Therefore, a higher weight isassigned to the original template fingerprint than to the inputfingerprints.

Without losing the generality, equation (8) can be rewritten as:

$\begin{matrix}{{c_{k}^{E} = {{\beta_{k}^{P}c_{k}^{P}} + {\lambda\;{\sum\limits_{{\forall m},{m \in R_{k}}}{\beta_{k}^{m}c_{k}^{Am}}}}}},} & (13)\end{matrix}$with the condition:

$\begin{matrix}{{{\beta_{k}^{P} + {\lambda\;{\sum\limits_{{\forall m},{m \in R_{k}}}\beta_{k}^{m}}}} = 1},} & (14)\end{matrix}$where β_(k) ^(P) is the weight for template minutiae and λβ_(k) ^(m) isthe weight for input minutiae. λ with 0<λ<1 is used to distinguish theweight of template minutiae from the weights of input minutiae. Sinceinput fingerprints are sequentially received by the system, c_(k) ^(Am)with m∈ R_(k) can be represented in a sequence c_(k) ^(A)(n) with1≦n≦N_(k). With c_(k) ^(A)(N_(k)) representing the newest input andc_(k) ^(A)(1) the oldest, the equation (13) can be rewritten into:

$\begin{matrix}{{{c_{k}^{P}\left( N_{k} \right)} = {{{\beta\left( N_{k} \right)}{c_{k}^{P}(0)}} + {\lambda\;{\sum\limits_{n = 0}^{N_{k} - 1}{{\beta(n)}{c_{k}^{A}\left( {N_{k} - n} \right)}}}}}},} & (15)\end{matrix}$where c_(k) ^(P)(N_(k)) represents the updated minutia certainty valueby one original template and N_(k) input fingerprint entries. Since theoriginal template c_(k) ^(P)(0) is even older than c_(k) ^(A)(1), β(n)(0<β(n)<β(n−1)) weight the minutiae of different coming time.

By choosing a power series as the weights β(n)=α^(n), (0<α<1), thecondition (14) can be expressed in a closed form

$\begin{matrix}{{\alpha^{N_{k}} + {\lambda\;{\sum\limits_{n = 0}^{N_{k} - 1}\alpha^{n}}}} = {{\alpha^{N_{k}} + {\lambda\frac{1 - \alpha^{N_{k}}}{1 - \alpha}}} = 1.}} & (16)\end{matrix}$

By choosing λ=1−α, the condition (16) will hold true independent on thevalue of α and the number of the element N_(k) in the sum operator.Thus, the same value of α can be used for different number offingerprint entries N_(k), i.e.

$\begin{matrix}{{{c_{k}^{P}\left( N_{k} \right)} = {{\alpha^{N_{k}}{c_{k}^{P}(0)}} + {\left( {1 - \alpha} \right){\sum\limits_{n = 0}^{N_{k} - 1}\;{\alpha^{n}{c_{k}^{A}\left( {N_{k} - n} \right)}}}}}},} & (17) \\{and} & \; \\{{c_{k}^{P}\left( {N_{k} + 1} \right)} = {{\alpha^{N_{k} + 1}{c_{k}^{P}(0)}} + {\left( {1 - \alpha} \right){\sum\limits_{n = 0}^{N_{k}}\;{\alpha^{n}{{c_{k}^{A}\left( {N_{k} + 1 - n} \right)}.}}}}}} & (18)\end{matrix}$

From equations (17) and (18) resultsc _(k) ^(P)(N _(k)+1)=αc _(k) ^(P)(N _(k))+(1−α)c _(k) ^(A)(N _(k)+1).  (19)

Equation (19) is the recursive template minutia certainty value updateformula, where c_(k) ^(P)(N_(k)) is the old template minutia certaintyvalue and c_(k) ^(P)(N_(k)+1) is the new template minutia certaintyvalue after the system receives a new entry c_(k) ^(A)(N_(k)+1).

In a similar way, a recursive template minutia parameter update formulacan be obtained from equation (7) asF _(k) ^(P)(N _(k)+1)=αF _(k) ^(P)(N _(k))+(1−α)F _(k) ^(A)(N _(k)+1),  (20)where F_(k) ^(P)(N_(k)) is the old template minutia and F_(k)^(P)(N_(k)+1) is the new template minutia after the system receives anew entry F_(k) ^(A)(N_(k)+1).

Since a fingerprint verification/identification system usually hasnonzero false acceptance rate, falsely accepted or falsely identifiedinput fingerprints will produce negative effect for the template update.Therefore a larger matching score threshold T_(a) with T_(a)>T_(v) isused to determine if an input fingerprint is to be used to update thetemplate. Furthermore, the shortest time interval T_(i) between twosuccessive updates of a template could be limited to prevent thepurposely-repeated abuse of the template update. In this way, thenegative effect of on-line fingerprint template self-updating procedurecan be diminished.

With respect to FIG. 5 the proposed fingerprint template self-updatingalgorithm is described.

In the first step 501, users enroll in the fingerprintverification/identification system. A minutia set F^(P)={F_(k) ^(P)} ofeach template fingerprint is extracted by using the method described in[3]. For multiple enrollments of the same finger, equations (9) and (10)can be used to generate an updated template.

Eight or 16 points {(x_(j) ^(P), y_(j) ^(P))} are determined torepresent the interest region S^(P) of each template minutia set byusing the method described in this application. All minutia certaintyvalues c_(k) ^(P) of all template minutia sets are initially assigned tobe 1 for single enrollment or, alternatively, are calculated by equation(10) for multiple enrollments. The current time t_(c) is read and theupdate time t_(u) of each template minutia set by t_(u)=t_(c) isinitialized.

In the second step 502, the system is waiting until an input fingerprintis received.

If an input fingerprint is received, the third step 503 is executed. Aninput minutia set F^(I)={F_(k) ^(I)} of the input fingerprint isextracted by using the method described in [3].

In step 504, the input minutia set F^(I) is one by one matched withF^(PV)={F_(k) ^(P)|(F_(k) ^(P)∈F^(P))^(c_(k) ^(P)≧c_(v))} of eachtemplate minutia set to get the largest matching score ms and thecorresponding aligned input minutia set F^(A)={F_(k) ^(A)} by using themethod described in [4].

In step 505 it is determined whether the largest matching score ms islower than or equal to a predetermined threshold T_(v). If this is true,put out a rejection information and go back to step 502. Otherwiseoutput the best-matched template ID.

The current time t_(c) and the last update time t_(u) of thebest-matched template minutia set are read. As already mentioned above,a larger matching score threshold T_(a) with T_(a)>T_(v) is used todetermine if an input fingerprint is to be used to update the templateminutia set. Furthermore, the shortest time interval T_(i) between twosuccessive updates of a template minutia set could be limited to preventthe purposely-repeated abuse of the updated template minutia set. Inthis way, the negative effect of on-line fingerprint templateself-updating procedure can be diminished. In step 506 it is determinedwhether the matching score ms is lower than or equal to the largermatching score threshold T_(a) or whether (t_(c)−t_(u)) is lower than orequal to the shortest time interval T_(i). If this is true, go back tostep 502. Otherwise let t_(u)=t_(c) and go to step 507.

Eight or 16 points {(x_(j) ^(I), y_(j) ^(I))} are determined in step 507to represent the input interest region S^(I) by using the methoddescribed above.

An aligned interest region S^(A)={(x_(j) ^(A), y_(j) ^(A))} of the inputfingerprint is obtained using equation (11).

In step 508, the best matched template minutia set F^(P)={F_(k) ^(P)}will be updated as follows, wherein a template minutia and an inputminutia have the same index k if and only if they are matched:

-   -   For all matched template minutiae, the minutia parameter F_(k)        ^(P) and certainty value c_(k) ^(P) are updated by αF_(k)        ^(P)+(1−α)F_(k) ^(A)        =F_(k) ^(P) and αc_(k) ^(P)+(1−α)        c_(k) ^(P).    -   Use equation (12) to find all unmatched template minutiae that        are located within the aligned interest region S^(A) of the        input fingerprint. The certainty values of these minutiae are        updated by αc_(k) ^(P)        ^(c) _(k) ^(P).    -   The certainty values of other template minutiae are unchanged        c_(k) ^(P)        c_(k) ^(P).    -   Use equation (12) to obtain all unmatched input minutiae that        are located in the template interest region S^(P). Merge these        minutiae into the template by F_(k) ^(A)        F_(k) ^(P) and c_(k) ^(P)=(1−α).

In step 509 the template minutia set is further updated by removingtemplate minutiae whose certainty values are lower than a thresholdc_(T) (c_(T)<1−α). The updated template minutia set is saved and theprocess goes back to step 502. The step 509 is aimed at limiting theenlargement of the template size. This can be regarded as letting c_(k)^(P)=0, if c_(k) ^(P)<c_(T).

The above described on-line fingerprint template processing schemeupdates the template minutia parameter and updates the template minutiacertainty value by using a recursive algorithm that implements aweighted averaging over all received matched fingerprints. The weightedaveraging increases the precision of minutia parameter (x_(k), y_(k),φ_(k)), corrects the exchanged minutiae t_(k), recovers the droppedminutiae (from c_(k) ^(P)<c_(v) to c_(k) ^(P)≧c_(v)) and removes thespurious minutiae (from c_(k) ^(P)≧c_(v) to c_(k) ^(P)<c_(v)).Furthermore, the proposed scheme has the weights of the receivedfingerprints changed with the time so that the older fingerprints haveless and less contribution to the weighted average. In this way, thesystem gradually weakens the effect of the older skin and imagingconditions and enhances the recent ones. By using the common region oftwo matched fingerprints, the template minutiae will not grow to coverthe whole finger but are kept within the region of the initial templatefingerprint. The proposed recursive algorithm minimizes the computationtime and memory size required by calculating a weighted average. Thismakes the proposed approach suitable to be employed in an on-linefingerprint verification/identification system.

In this document, the following publications are cited:

-   [1] X. D. Jiang, W. Y. Yau and W. Ser, Minutiae Extraction by    Adaptive Tracing the Gray Level Ridge of the Fingerprint Image,    Proc. IEEE Sixth International Conference on Image Processing, Kobe,    Japan, Vol. 2, pp. 852-856, October 1999;-   [2] D. Maio and D. Maltoni, Direct Gray-Scale Minutiae Detection in    Fingerprints, IEEE Transactions on Pattern Analysis and Machine    Intelligence, Vol. 19, No. 1, pp. 27-39, January 1997;-   [3] X. D. Jiang, W. Y. Yau and W. Ser. Detecting the Fingerprint    Minutiae by Adaptive Tracing the Gray Level Ridge, Pattern    Recognition, Vol. 34, No. 5, pp. 999-1013, May 2001;-   [4] X. D. Jiang and W. Y. Yau, Fingerprint Minutiae Matching Based    on the Local And Global Structures, Proc. 15th International    Conference on Pattern Recognition, ICPR, Barcelona, Spain, Vol. 2,    pp. 1042-1045, September 2000;-   [5] U.S. Pat. No. 4,135,147;-   [6] U.S. Pat. No. 4,646,352:-   [7] U.S. Pat. No. 5,493,621;-   [8] X. D. Jiang, W. Y. Yau, and W. Ser, Fingerprint Image Processing    for Automatic Verification, Proc. IEEE Second International    Conference on Information, Communication & Signal Processing,    Singapore, December 1999;-   [9] A. K. Jain, L. Hong, S. Pankanti, and R. Bolle, An    Identity-Authentication System Using Fingerprints, Proc. IEEE, Vol.    85, No. 9, pp. 1365-1388, September 1997.

1. A method for computer-based processing a template minutia set of afingerprint, comprising the following steps: a) providing the templateminutia set comprising template minutiae and a template interest region,b) providing an input minutia set according to an input fingerprintcomprising input minutiae and an input interest region, c) matching theinput minutia set with the template minutia set, thereby determiningmatching template/input minutiae and non-matching template/inputminutiae, and d) determining an updated template minutia set whichcomprises the adding of non-matching input minutiae inside the termplateinterest region to the termplate minutia set if the input minutia setand the template minutia set are known to originate from a same fingeror their matching result is higher than a matching threshold.
 2. Themethod according to claim 1, wherein the method further comprises thefollowing steps: determining a plurality of input minutia setscomprising a certainty value for each input minutia, and determining theupdated template minutia set by generating updated template minutiaefrom all input minutia sets with their corresponding weights.
 3. Themethod according to claim 2, wherein the plurality of input minutia setscomprises a time series of input minutia sets and wherein the certaintyvalue is a function of time of the corresponding input minutia set. 4.The method according to claim 2, wherein step d) further comprises:increasing the certainty values of matching template minutiae,decreasing the certainty values of non-matching template minutiae thatare inside the input interest region, deleting template minutiae fromthe updated template minutia set if their certainty values are below acertainty threshold, and using the template minutiae, whose certaintyvalues are larger than the certainty threshold, for the future matching.5. The method according to claims 1, wherein the boundaries of theinterest regions are obtained using points located on the respectiveboundary.
 6. The method according to claim 5, wherein the boundaries ofthe template interest region and of the input interest region eachdefine a polygon.
 7. The method according to claim 6, wherein thepolygons are described by eight or 16 points each.
 8. The methodaccording to claim 1, wherein between step b) and step c) the inputminutia set is aligned with respect to the template minutia set.
 9. Themethod according to claim 1, wherein the template minutia set isselected from a number of reference minutia sets.
 10. The methodaccording to claim 9, wherein each reference minutia set comprises areference interest region and wherein the reference minutia set with thelargest reference interest region is selected as the template minutiaset.
 11. The method according to claim 1, wherein step c) furthercomprises the step of determining of whether an input minutia is locatedinside the template interest region or outside of it, and whether atemplate minutia is located inside the input interest region or outsideof it.
 12. The method according to claim 8, wherein aligning the inputminutia set with respect to the template minutia set is performed by atransformation function given by the following formula:${\begin{pmatrix}x_{j}^{A} \\y_{j}^{A}\end{pmatrix} = {\begin{pmatrix}x^{P} \\y^{P}\end{pmatrix} + {\begin{pmatrix}{\cos\left( {\Delta\;\varphi} \right)} & {\sin\left( {\Delta\;\varphi} \right)} \\{- {\sin\left( {\Delta\;\varphi} \right)}} & {\cos\left( {\Delta\;\varphi} \right)}\end{pmatrix} \cdot \begin{pmatrix}{x_{j}^{I} - x^{I}} \\{y_{j}^{I} - y^{I}}\end{pmatrix}}}},$ wherein (x_(j) ^(A), y_(j) ^(A)) are aligned pointvectors representing the location of an aligned point with j ascharacterizing number of each aligned point, (x^(P), y^(P)) is areference point of the template minutia set, (x_(j) ^(I), y_(j) ^(I)) isa point in the input interest region with j as characterizing number ofeach point, (x^(I), y^(I)) is a reference point of the input minutiaset, and Δφ is an angle enclosed from (x^(P), y^(P)) and (x^(I), y^(I)).13. The method according to claim 1, wherein steps b) to d) areiteratively repeated for all input minutia sets of a plurality of inputminutia sets with the updated template minutia set as the templateminutia set of the next iteration, and the next input minutia set as theinput minutia set of the next iteration.
 14. A computer-based device forprocessing a template minutia set of a fingerprint, comprising aprocessing unit, which is arranged to execute the following steps: a)providing the template minutia set comprising template minutiae, atemplate interest region, and a certainty value for each templateminutia, b) providing an input minutia set according to an inputfingerprint comprising input minutiae, an input interest region, and acertainty value for each input minutia, c) matching the input minutiaset with the template minutia set, thereby determining matchingtemplate/input minutiae and non-matching template/input minutiae, d)determining a transformation function using the matching result, whereinthe transformation function describes the relation between the templateminutiae and the input minutiae, e) determining an updated templateminutia set by adding non-matching input minutiae inside the templateinterest region to the updated template minutia set if the input minutiaset and the template minutia set are known originated from a same fingeror their matching result is higher than a matching threshold, increasingthe certainty values of matching template minutiae, decreasing thecertainty values of non-matching template minutiae that are inside theinput interest region, deleting template minutiae from the updatedtemplate minutia set if their certainty values are below a certaintythreshold, and using the template minutiae, whose certainty values arelarger than the certainty threshold, for the future matching, and f)repeating steps b) to e) iteratively for all input minutia sets of aplurality of input minutia sets with the updated template minutia set asthe template minutia set of the next iteration, and the next inputminutia set as the input minutia set of the next iteration.
 15. Acomputer readable storage medium, having a program recorded thereon,where the program makes the computer execute a procedure comprising thefollowing steps for processing a template minutia set of a fingerprint:a) providing the template minutia set comprising template minutiae, atemplate interest region, and a certainty value for each templateminutia, b) providing an input minutia set according to an inputfingerprint comprising input minutiae, an input interest region, and acertainty value for each input minutia, c) matching the input minutiaset with the template minutia set, thereby determining matchingtemplate/input minutiae and non-matching template/input minutiae, d)determining a transformation function using the matching result, whereinthe transformation function describes the relation between the templateminutiae and the input minutiae, e) determining an updated templateminutia set by adding non-matching input minutiae inside the templateinterest region to the updated template minutia set if the input minutiaset and the template minutia set are known originated from a same fingeror their matching result is higher than a matching threshold, increasingthe certainty values of matching template minutiae, decreasing thecertainty values of non-matching template minutiae that are inside theinput interest region, deleting template minutiae from the updatedtemplate minutia set if their certainty values are below a certaintythreshold, and using the template minutiae, whose certainty values arelarger than the certainty threshold, for the future matching, and f)repeating steps b) to e) iteratively for all input minutia sets of aplurality of input minutia sets with the updated template minutia set asthe template minutia set of the next iteration, and the next inputminutia set as the input minutia set of the next iteration.